﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Windows;
using System.IO;

namespace QLKS.ViewModels
{
    static public class NhanVienViewModel
    {
        static public DataTable GetAllNhanVien(string columns)
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.GetAllNhanVien(columns);
            return tb;
        }

        //Lấy cấu trúc Table NhanVien
        static public DataTable CreateNewNhanVien()
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.CreateNewNhanVien();
            return tb;
        }

        //Lấy thông tin nhân viên
        static public DataTable GetNhanVien(string manv)
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.GetNhanVien(manv);
            return tb;
        }

        //Lấy thông tin nhân viên
        static public DataTable GetNhanVienTheoUserName(string username)
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.GetNhanVienTheoUserName(username);
            return tb;
        }
        //Phát sinh mã nhân viên
        static public string GetMaNhanVien()
        {
            return Models.NhanVienModel.GetMaNhanVien();
        }

        //Lấy danh sách nhân viên
        static public DataTable GetAllNhanVien()
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.GetAllNhanVien();
            return tb;
        }

        //Lấy nhóm nhân viên
        static public DataTable GetNhomNhanVien()
        {
            DataTable tb = new DataTable();
            tb = Models.NhanVienModel.GetNhomNhanVien();
            return tb;
        }

        //thêm nhân viên
        static public bool ThemNhanVien(DataTable tb,string hinhanh)
        {
            try
            {
                byte[] data = null;
                if (!string.IsNullOrEmpty(hinhanh))
                {
                    FileInfo fInfo = new FileInfo(hinhanh);
                    long numBytes = fInfo.Length;
                    FileStream fStream = new FileStream(hinhanh, FileMode.Open, FileAccess.Read);
                    BinaryReader br = new BinaryReader(fStream);
                    data = br.ReadBytes((int)numBytes);
                }
                else
                    data = new byte[0];
                //byte[] _hinhanh = new byte[100];
                tb.Rows[0]["hinhanh"] = data;
                Models.NhanVienModel.ThemNhanVien(tb);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "HotelManager", MessageBoxButton.OK, MessageBoxImage.Error);
                if (Models.DataProviderModel.IsOpen)
                    Models.DataProviderModel.Close();
                return false;
            }
            return true;
        }

        //Xóa nhân viên
        static public bool XoaNhanVien(string ma)
        {
            try
            {
                Models.NhanVienModel.XoaNhanVien(ma);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "HotelManager", MessageBoxButton.OK, MessageBoxImage.Error);
                if (Models.DataProviderModel.IsOpen)
                    Models.DataProviderModel.Close();
                return false;
            }
            return true;
        }
    }
}
